﻿using Quartz;
using Quartz.Impl;
using System;

namespace ConsoleApp_Quartz_Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World! Quartz.Net");

            //1. 创建一个任务
            IJobDetail job = JobBuilder.Create<SimpleQuartzJob>()
                            .WithIdentity(typeof(SimpleQuartzJob).FullName, "Test")
                            .Build();
            //2. 配置任务参数
            ITrigger trigger = TriggerBuilder.Create()
                                .WithIdentity(typeof(SimpleQuartzJob).FullName, "Test")

                                 //简单定时任务
                                 //.WithSimpleSchedule(s =>
                                 //{
                                 //    //每5秒执行一次
                                 //    s.WithIntervalInSeconds(5).RepeatForever();
                                 //})

                                 // 每间隔一分钟执行一次触发器
                                 // .WithCronSchedule("0 0/1 * * * ?")

                                 // 在每个周一,二, 三和周四周五周六的 16:46
                                 .WithCronSchedule("0 46 16 ? * MON-SAT")
                                .Build();
            //3.启动任务
            StdSchedulerFactory factory = new StdSchedulerFactory();
            //创建任务调度器
            IScheduler scheduler = factory.GetScheduler().Result;
            scheduler.ScheduleJob(job, trigger);
            scheduler.Start();

            Console.ReadLine();
        }
    }
}
